package org.jeecg.modules.paycenter.service;

import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.paycenter.enums.BillTypeEnum;
import org.jeecg.modules.paycenter.enums.PayChannelEnum;
import org.jeecg.modules.wlhy.bill.entity.HyBill;
import org.jeecg.modules.wlhy.bill.entity.HyCustomerBill;
import org.jeecg.modules.wlhy.bill.entity.HyShippingNoteBill;
import org.jeecg.modules.wlhy.company.entity.HyCompany;
import org.jeecg.modules.wlhy.customer.entity.HyCustomer;
import org.jeecg.modules.wlhy.hydriver.entity.HyDriver;
import org.jeecg.modules.wlhy.shipping.entity.HyShippingNote;

import java.util.List;

/**
 * 支付相关接口
 */
public interface IPayChannelService {
    PayChannelEnum getChannelEnum();

    String getChannel();

    boolean checkChannel();

    //经纪人垫付运费
    Result<?> agentDianFuPayBatch(BillTypeEnum billTypeEnum, List<HyBill> hyBills, HyCustomer agent, HyCustomer customer);

    Result<?> billPayBatch(List<HyBill> hyBills, HyCustomer customer);

    Result<?> billPlateformPay(List<HyBill> hyBills, HyCustomer customer);

    Result<?> billRePayBatch(List<HyBill> hyBills, HyCustomer customer);

    Result<?> batchDownloadShippingBillHd(List<HyShippingNoteBill> shippingNoteBills);

    Result<?> batchDownloadCustomerBilHd(List<HyCustomerBill> customerBills);
}
